funcionamiento del algoritmo